<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 1.  扩展运算符 ...

        // 合并数组的方法 a. concat
        let arr1 = [1,2]
        let arr2 = [3,4]
        let newArr = arr1.concat(arr2)
        console.log(newArr);

        // b. ...  (浅拷贝，只能复制一级)
        let newArr2 = [...arr1,...arr2]
        newArr2.pop()
        console.log(newArr2);

        // 2. Array.from  将类数组的对象结果 转变成数组

        // agruments 关键字不用形参可以拿到所有实参  但是不能用数组的方法 因为他只是类数组 并不是数组
        // 使用Array.from 就可以变成真正的数组  

        function fn (){
            console.log(arguments);
            console.log( Array.from(arguments));  
        }
        fn(1,2,3)


        // 3. find 返回满足条件元素  findIndex 返回满足条件元素索引
        let arr3 = [1,2,3,4,5,45]
        const res1 = arr3.find(item => item>30)
        const res2 = arr3.findIndex(item=>item>30)
        console.log(res1,res2);

        // 4. fill 填充数组  第二个参数和第三个参数是起止位置 若无则全部填充
        arr3.fill('hah' , 1 ,2)
        console.log(arr3);


        // 5. flat  扁平化处理  flatMap  高级版扁平化
        let arr4 = [
            ["安阳", "anding"],
            ["beijing","baoding"]
        ]
        console.log(arr4.flat());

        let arr5 = [
            {
                name:'a',
                list:["安阳", "anding"]
            },
            {
                name:'b',
                list:["beijing","baoding"]
            }
        ]
        
        const res3 = arr5.flatMap(item => item.list)
        console.log(res3);


    </script>
</body>
</html>